package main

import "fmt"

/**
四种变量的声明
*/

// 声明全局变量
var ga int = 100

func main() {
	// 方法-：声明一个变量 默认的值为0
	var a int
	fmt.Println("a = ", a)
	// 使用 %T 打印变量类型
	fmt.Printf("type of a = %T\n", a)

	// 方法二：声明一个变量，初始化一个值
	var b int = 100
	fmt.Println("b = ", b)

	// 方法三：在初始化的时候，省去数据类型，通过值自动匹配当前变量的数据类型
	var c = 100
	fmt.Println("c = ", c)

	// 方法四：（最常用） 省去var关键字，直接自动匹配
	e := 100
	fmt.Println("e = ", e)
	fmt.Printf("type of e = %T\n", e)

	f := "1211"
	fmt.Println("f = ", f)
	fmt.Printf("type of f = %T\n", f)

	g := 3.14
	fmt.Println("g = ", g)
	fmt.Printf("type of g = %T\n", g)

	// 声明多个变量
	var xx, yy = 100, 200
	fmt.Println("xx = ", xx, "yy = ", yy)

	var kk, ll = 100, "dasda"
	fmt.Println("kk = ", kk, "ll = ", ll)

	var (
		vv int = 100
		jj bool = true
	)
	fmt.Println("vv = ", vv, "jj = ", jj)
}
